﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Brunch
{
	/// <summary>
	/// Generic EventArgs
	/// </summary>
	/// <typeparam name="T">Type of the contained value.</typeparam>
	[Serializable]
	public class EventArgs<T> : EventArgs
	{
		/// <summary>
		/// The contained value.
		/// </summary>
		private readonly T value;

		/// <summary>
		/// Initializes a new instance of the <see cref="EventArgs{T}"/> class.
		/// </summary>
		/// <param name="value">The value.</param>
		public EventArgs(T value)
		{
			this.value = value;
		}

		/// <summary>
		/// Gets the contained value.
		/// </summary>
		public T Value
		{
			get { return this.value; }
		}
	}

}
